from openpyxl import Workbook, load_workbook

# 定义变量（假设从其他逻辑获取）
node_ip = "192.168.100.200"  # 内网IP变量
server_name = "MyServer"
public_ip = "203.0.113.5"
port = 22

# 动态生成数据列表（注意顺序与表头一致）
data = [
    1,                            # 序号（可动态生成）
    server_name,                  # 服务器名称
    node_ip,                      # 内网IP（使用变量）
    public_ip,                    # 公网IP
    port,                         # 端口号
    "admin",                      # 用户名
    "secure_password",            # 密码
    "是",                         # 是否为管理员
    "应用服务器",                 # 标签
    "正式环境"                    # 备注
]

# 写入Excel逻辑
file_path = "servers.xlsx"

try:
    # 加载已有文件
    wb = load_workbook(file_path)
    ws = wb.active
    # 动态生成序号（当前行号）
    data[0] = ws.max_row          # 假设表头已存在，序号从已有行数开始
except FileNotFoundError:
    # 创建新文件并添加表头
    wb = Workbook()
    ws = wb.active
    headers = ["序号", "服务器名称", "内网IP", "公网IP", "端口号", 
              "用户名称", "用户密码", "是否为管理员（是|否）", "标签", "备注"]
    ws.append(headers)
    data[0] = 1  # 新文件的序号从1开始

# 追加数据
ws.append(data)
wb.save(file_path)